import type { PageRequestData, ResponseTableData, TableData } from "../common"

export interface SimEngineViewInfo extends SimEngineBaseInfo {
  sim_engine_files: string
  sim_engine_os: string
}

export interface SimEngineBaseInfo {
  sim_engine_id: string | undefined
  sim_engine_name: string
  describe: string
  sim_engine_files: string
  sim_engine_version: string
  environment_variables: string
  extension_parameters: string
  main_file: string
  sim_engine_os: string[] | string
  [propNames: string]: any
}

export interface TableRequestData {
  /** 引擎名称 */
  sim_engine_name?: string
  /** 引擎名称 */
  sim_engine_version?: string
}

export interface SimEngineTableData extends SimEngineBaseInfo, TableData {
  sim_engine_id: string
}
export interface PageTableRequestData extends TableRequestData, PageRequestData {}
export type SearchSimEngineTableResponseData = ApiResponseData<ResponseTableData<SimEngineTableData>>
export type SimEngineListResponseData = ApiResponseData<SimEngineTableData[]>
export type SimEngineInfoResponseData = ApiResponseData<SimEngineBaseInfo>
export type SimEngineViewInfoResponseData = ApiResponseData<SimEngineViewInfo>
